package com.example.micro_property_springboot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.micro_property_springboot.entity.SysBackupRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统备份记录Mapper
 * 提供备份记录的数据库操作方法
 */
@Mapper
public interface SysBackupRecordMapper extends BaseMapper<SysBackupRecord> {
    
    /**
     * 获取最近的N条备份记录
     */
    List<SysBackupRecord> getRecentBackupRecords(@Param("limit") Integer limit);
    
    /**
     * 根据备份类型获取备份记录
     */
    List<SysBackupRecord> getByBackupType(@Param("backupType") String backupType);
    
    /**
     * 获取成功的备份记录数量
     */
    Integer getSuccessBackupCount();
    
    /**
     * 删除指定时间之前的备份记录
     */
    Integer deleteOldBackupRecords(@Param("date") String date);
    
    /**
     * 查询过期的备份记录
     */
    List<SysBackupRecord> selectExpiredRecords(@Param("date") String date);
    
    /**
     * 根据备份类型统计数量
     */
    Integer countByBackupType(@Param("backupType") String backupType);
}